Trusted Execution Environments (TEEs) are increasingly used as a way to ensure security for applications and data on a computing system. A TEE may be used, for example, to establish an isolated execution environment and associated sections of memory where operations may be conducted on sensitive data, invisibly to the rest of the system. Multiple TEEs may be deployed and used on a computing system, such as with the use of various host-based TEEs and microcontroller-based TEEs. Such TEEs may vary in properties and capabilities, as some microcontroller based TEEs are persistent but host-based TEEs (such as a virtual machine (VM)) may be either persistent or transient.
Computing devices, and in particular, mobile and wearable computing devices (e.g., smartphones, tablets, smartwatches), often include a number of sensors. For example, such sensors may include location data sensors (e.g., obtaining GPS, Wi-Fi location data) and environment sensors such as a gyroscope, an accelerometer, and the like. Although the number and use cases for such sensors has increased, there are not adequate existing mechanisms to securely provide data from the sensors on a computing device platform to trusted agents running inside a TEE.